#include "head.h"
void* thread_main(void* p){
    status_t* status=(status_t*)p;
	pthread_mutex_lock(&status->lock);
	MYSQL* mysql = mysql_connect();
	pthread_mutex_unlock(&status->lock);
	mysql == NULL?printf("数据库连接失败\n"):printf("数据库连接成功\n");
    while(1){
        //从队列中获取net_fd
        int net_fd;
        pthread_mutex_lock(&status->lock);

        //当队列没有任务和没有要求退出的信号
        while(status->queue.size<=0&&status->exit_flag==0){
            pthread_cond_wait(&status->cond,&status->lock);
        }

        //当有要求退出的信号
        if(status->exit_flag!=0){
            pthread_mutex_unlock(&status->lock);
            pthread_exit(NULL);
        }

        net_fd=status->queue.head->net_fd;
        deQueue(&status->queue);
        
        pthread_mutex_unlock(&status->lock);

        //2.和客户端通信
        do_worker(net_fd,mysql);

        close(net_fd);
    }


    return 0;
}
